package com.kaifamiao.www.demo.do0804;

import java.nio.charset.StandardCharsets;
import java.util.stream.IntStream;

public class Demo {
    public static void main(String[] args) {
        String str = "七夕青蛙：孤寡孤寡";
        char ch = str.charAt(0);//返回指定索引处的值charAt(int index)
        System.out.println(ch);
        //返回指定索引处的字符（Unicode）码位
        int code = str.codePointAt(0);
        System.out.println(code);
        code = str.codePointAt(3);
        System.out.println(code);
        //返回指定索引处之前的字符（Unicode）码位
        int code1 = str.codePointBefore(4);
        System.out.println(code1);
        //返回（Unicide）码位所指定的字符
        int[] codes ={19971,34521,38738};
        String str1 = new String(codes,0,3);
        System.out.println(str1);
        //返回此指定文本范围内的 Unicode 码位数
        int code2 = str.codePointCount(0,3);
        System.out.println(code2);
        //从该序列返回代码点值流
         IntStream s1 = str.codePoints();
        System.out.println(s1);
        //按字典顺序比较两个字符串
        int num = "aqqA".compareTo("aqqa");
        System.out.println(num);
        //按字典顺序比较两个字符串,忽略大小写差异。
        int num1 = "Aqqa".compareToIgnoreCase("aqqa");
        System.out.println(num1);
        //将指定的字符串连接到此字符串的末尾
        str = str.concat("你个孤寡");
        System.out.println(str);

        //当且仅当此字符串包含指定的char值序列时返回true

        boolean flag = str.contains("孤寡");
        System.out.println(flag);
        //将此字符串与指定的字符串进行比较
        flag = "abc".contentEquals("abcd");
        System.out.println(flag);
//
//        flag = "qwer".contentEquals("qwer");
//        System.out.println(flag);
        //测试此字符串是否以指定的后缀结尾
        flag = "www.44455.com".endsWith(".com");
        System.out.println(flag);
        //测试此字符串是否已指定的前缀开始
        flag = str.startsWith("七夕");
        System.out.println(flag);

        //将此字符串与指定的对象进行比较
        flag = str.equals("七夕青蛙");
        System.out.println(flag);
        System.out.println("------");
        //将将此字符串与指定的对象进行比较，忽略大小写考虑
        flag = "QQWER".equalsIgnoreCase("qqwer");
        System.out.println(flag);
        //使用平台的默认字符集将其编码String为字节序列，将结果存储到新的字节数组中。
        byte[] by = "a".getBytes(StandardCharsets.UTF_16);
        System.out.println(by);
        //将字符串中的数组复制到目标字符数组中
        char[] chs =new char[3];
        str.getChars(0,2,chs,1);
        System.out.println(chs);
        //对字符串进行缩进
        str1 = str.indent(2);
        System.out.println(str1);
        //返回此字符串中第一次出现指定字符的索引
        int num2 ="abacadeafg".indexOf("a");
        System.out.println(num2);
        //返回此字符串中第一次出现指定字符的索引，从指定索引开始搜索。
        num2 = "abacadeafg".indexOf('a',3);
        System.out.println(num2);
        //返回此字符串中第一次出现指定 子 字符串 的索引。
        int index = str.indexOf("孤寡");
        System.out.println(index);
        //返回此字符串中第一次出现指定子字符串的索引，从指定索引开始。
        index = str.indexOf("孤寡",6);
        System.out.println(index);
        //true如果字符串为空或仅包含 空白代码点，则返回，否则返回false。
        System.out.println("".isBlank());
        //true当且仅当length()是时返回0。
        System.out.println("".isEmpty());
        //返回此字符串中最后一次出现指定字符的索引。
        index = str.lastIndexOf('孤');
        System.out.println(index);
        //判断此字符串是否与给定的正则表达式匹配。
        flag = "123a4566".matches("^\\d{3}\\w{4}");
        System.out.println(flag);
        //返回一个字符串，其值为该字符串重复count次数的串联。
        str1 ="6".repeat(9);
        System.out.println(str1);
        //oldChar返回一个字符串，该字符串是用 替换此字符串中所有出现的 newChar。
        str1 = "abacdabedc".replace("ab","A");
        System.out.println(str1);
        //用给定的替换替换此字符串中与给定正则表达式匹配的每个子字符串。
        str1 = "1a2b3c4d".replaceAll("\\d{1}","*");
        System.out.println(str1);
        //转义\(转义字符进行转义) \n  \t
        String s = "青蛙；\"呱呱\"\\";
        System.out.println(s);
    }
}
